package Day010_排序算法_异常.demo04_异常的产生和处理;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class demo2_声明处理异常 {
    public static void main(String[] args) throws ParseException {

        /*
            声明处理异常: 踢皮球,并没有处理异常
                     使用throws关键字将问题标识出来,表示当前方法不处理异常,而是提醒使用者
                     让使用者处理...最终会到虚拟机,虚拟机直接结束程序,打印异常信息

            throws关键字:
                        修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2…{  }
                        把异常声明给调用者来处理,如果调用者也使用声明处理异常,最终会到JVM,终止程序,打印异常信息
         */
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date();
        date = sdf.parse("1999-01-11");//编译异常,声明/捕获处理异常后编译无异常
        //Error:(21, 25) java: 未报告的异常错误java.text.ParseException; 必须对其进行捕获或声明以便抛出
        //Alt+回车

        //声明处理异常(throws ParseException)后,如果仍然出现异常
        //date = sdf.parse("1999年01月11日"); //出现异常,仍然不能继续执行!!!

        System.out.println(date);
    }
}
